package com.condominio.negocio;

import java.util.ArrayList;
import java.util.Collection;

import com.condominio.dao.AreaComunDAO;
import com.condominio.excepcion.DAOExcepcion;
import com.condominio.modelo.AreaComun;

public class AreaComunNegocio {

	public int insertAreaComun(String Descripcion, String Ubicacion)
			throws DAOExcepcion {
		int flIns = 0;
		AreaComun oAreaComun = new AreaComun();
		oAreaComun.setDescripcion(Descripcion);
		oAreaComun.setUbicacion(Ubicacion);
		AreaComunDAO oAreComDAO = new AreaComunDAO();
		try {
			flIns = oAreComDAO.insertAreaComun(oAreaComun);
		} catch (DAOExcepcion e) {
			throw new DAOExcepcion(e.getMessage());
		}
		return flIns;
	}

	public AreaComun findAreaComun(int CodigoArea) throws DAOExcepcion {
		AreaComunDAO oAreComDAO = new AreaComunDAO();
		AreaComun oAreaComun = null;
		try {
			oAreaComun = oAreComDAO.findAreaComun(CodigoArea);
		} catch (DAOExcepcion e) {
			throw new DAOExcepcion(e.getMessage());
		}
		return oAreaComun;
	}

	public void deleteAreaComun(int coArea) throws DAOExcepcion {
		AreaComunDAO oAreComDAO = new AreaComunDAO();
		try {
			oAreComDAO.deleteAreaComun(coArea);
		} catch (DAOExcepcion e) {
			throw new DAOExcepcion(e.getMessage());
		}
	}

	public void updateAreaComun(int coArea, String txDescripcion,
			String txUbicacion) throws DAOExcepcion {
		AreaComun oAreaComun = new AreaComun();
		oAreaComun.setCodigo(coArea);
		oAreaComun.setDescripcion(txDescripcion);
		oAreaComun.setUbicacion(txUbicacion);
		AreaComunDAO oAreComDAO = new AreaComunDAO();
		try {
			oAreComDAO.updateAreaComun(oAreaComun);
		} catch (DAOExcepcion e) {
			throw new DAOExcepcion(e.getMessage());
		}
	}

	public Collection<AreaComun> listAreaComun() throws DAOExcepcion {
		Collection<AreaComun> oAreasComunes = new ArrayList<AreaComun>();
		AreaComunDAO oAreComDAO = new AreaComunDAO();
		try {
			oAreasComunes = oAreComDAO.listAreaComun();
		} catch (DAOExcepcion e) {
			throw new DAOExcepcion(e.getMessage());
		}
		return oAreasComunes;
	}

}
